User Authorization And Presence Detection In Isolation From Interference From And Control By Host Central Processing Unit And Operating System

ABSTRACT

An embodiment may include circuitry to be included, at least in part, in a host. The host may include at least one host central processing unit (CPU) to execute, at least in part, at least one host operating system (OS). The circuitry may perform, at least in part, at least one operation in isolation both from interference from and control by the at least one host CPU and the at least one host OS. The at least one operation may include user authorization determination and user presence determination. The authorization determination may be in response, at least in part, to indication of physical presence of at least one user in proximity to the host. The user presence determination may determine, at least in part, whether, after the indication has been provided, the physical presence of the at least one user in the proximity to the host has ceased.

This application is a continuation of U.S. patent application Ser. No.13/785,883, filed Mar. 5, 2013, the content of which is herebyincorporated by reference.

TECHNICAL FIELD

Embodiments disclosed herein generally relate to user authorization andpresence detection in isolation from interference from and control by ahost central processing unit (CPU) and host operating system (OS).

BACKGROUND

In one convention system, a host CPU in a host executes a host OS. TheOS performs (alone and/or in combination with other software executed bythe CPU) security features. These features are intended (ideally) toprevent an unauthorized user (or malicious software attempting to poseas an authorized user) from issuing unauthorized commands to orotherwise compromising the host. In actual implementation, however, suchsoftware-based security features suffer from significant disadvantagesand drawbacks that may prevent the software from achieving these ideallyintended results.

For example, such software-based security features are incapable ofensuring that it is an actual user (and not, for example, malicioussoftware posing, either locally or remotely via a network, as a user)that is seeking access to the host. Additionally, such software-basedsecurity features tend to be relatively easily infiltrated, corrupted,and/or circumvented by malicious software (e.g., as compared to securityfeatures that are implemented predominately or entirely in hardware orfirmware).

One proposed solution involves including trusted platform module (TPM)security hardware in the host. Such TPM hardware may comply with TPMMain Specification (including Part 1 Design Principles, Part 2 TPMStructures, and Part 3 Commands), Version 1.2, Revision 116, published 1Mar. 2011, by Trusted Computing Group, Inc. The TPM hardware is exposedto a trusted hardware attestation key device via a user physicalpresence general purpose input/output (GPIO) pin of TPM hardware. Thepin is set when a user physically presses a certain button of the host.The setting of the pin grants the user (i.e., the person who pressed thebutton) access to the security functions of the TPM hardware.

Unfortunately, in this conventional arrangement, no separateauthentication (e.g., independent of the user merely pressing thebutton) of the user is involved prior to, and as a condition for, theuser being granted access to the security functions of the TPM.Accordingly, if an unauthorized user obtains physical access to the hostand presses the button, the unauthorized user is granted access to thesecurity functions of the TPM hardware.

Also, in this conventional arrangement, continuing access to thesecurity functions of the TPM hardware is not conditioned upon anauthorized user remaining in proximity to the host. Accordingly, suchaccess may not be revoked even if the user ceases to be in proximity tothe host. Unfortunately, this may permit an unauthorized person to gainaccess to such functions, for example, after the authorized user hasleft the proximity of the host.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Features and advantages of embodiments will become apparent as thefollowing Detailed Description proceeds, and upon reference to theDrawings, wherein like numerals depict like parts, and in which:

FIG. 1 illustrates elements in an embodiment.

FIG. 2 illustrates elements in an embodiment.

FIG. 3 illustrates elements in an embodiment.

FIG. 4 illustrates elements in an embodiment.

FIG. 5 illustrates elements in an embodiment.

Although the following Detailed Description will proceed with referencebeing made to illustrative embodiments, many alternatives,modifications, and variations thereof will be apparent to those skilledin the art. Accordingly, it is intended that the claimed subject matterbe viewed broadly.

DESCRIPTION OF EMBODIMENTS

FIG. 1 illustrates a system embodiment 100. System 100 may include oneor more hosts 10. In this embodiment, a “computer,” “host,” “server,”“client,” “node”, and/or “device” may be used interchangeably, and maybe or comprise, for example, one or more end stations, smart phones,tablet computers, appliances, communication instrumentalities,intermediate stations, network interfaces, clients, servers, storage,mass storage, and/or components and/or portions thereof. In thisembodiment, a “network,” “channel”, “communication link,” and/or“communication lane” may be used interchangeably, and may be or maycomprise, for example, one or more virtual, physical, and/or logicalmechanisms, instrumentalities, modalities, and/or portions thereof thatmay permit, facilitate, and/or allow, at least in part, two or moreentities to be communicatively coupled together.

In this embodiment, a first entity may be “communicatively coupled” to asecond entity if the first entity is capable of transmitting to and/orreceiving from the second entity one or more commands and/or data. Alsoin this embodiment, a “wireless network” may be or comprise a networkthat permits, at least in part, at least two entities to be wirelesslycommunicatively coupled, at least in part. In this embodiment, a “wirednetwork” may be or comprise a network that permits, at least in part, atleast two entities to be communicatively coupled, at least in part, vianon-wireless means, at least in part. In this embodiment, data may be orcomprise one or more commands (for example one or more programinstructions), and/or one or more such commands may be or comprise data.Also in this embodiment, an instruction may include data and/or one ormore commands. Similarly, in this embodiment, data may include one ormore instructions and/or one or more commands.

One or more hosts 10 may comprise one or more single and/or multi-corehost processor (HP) CPU 12, one or more chipsets (CS) 15, one or moresecurity-related components (SRC) 46, one or more user interfaces (I/F)101, and/or computer-readable/writable host memory 21. One or morechipsets (which may comprise, e.g., not shown memory and/or input/outputcontroller circuitry) 15 may communicatively couple (and/or be capableof communicatively coupling) one or more host processor CPU 12, I/F 101,memory 21, and/or SRC 46.

For example, in this embodiment, one or more CS 15, CPU 12, SRC 46, I/F101, and/or memory 21 may be comprised in, at least in part, one or morenot shown circuit boards (e.g., one or more system motherboards) thatmay comprise, at least in part, one or more not shown bus and/orpoint-to-point interconnect systems/links. In this arrangement, one ormore CS 15 may be communicatively coupled (e.g., via one or more ofthese not shown bus and/or point-to-point interconnect links) to one ormore host processor CPU 12, I/F 101, memory 21, and/or SRC 46.

Alternatively or additionally, without departing from this embodiment,although not shown in the Figures, some or all of the components and/orthe functionality of one or more of these components (e.g., CS 15, CPU12, I/F 101, memory 21, and/or SRC 46) may be comprised, at least inpart, in one or more other of these components. For example, SRC 46and/or CPU 12 may be comprised, in whole or in part, in CS 15, or viceversa, without departing from this embodiment. Further additionally oralternatively, without departing from this embodiment, one or more ofthese components may be comprised, at least in part, in one or more notshown daughter circuit cards that may be capable of being inserted intoone or more not shown card slots of one or more not shown motherboards.When so inserted, these one or more daughter cards (and/or theircomponents) may become communicatively coupled to each other and/or toother components in the one or more daughter cards and/or motherboards.Many other variations are possible without departing from thisembodiment.

In this embodiment, respective machine-readable program instructions maybe stored in computer-readable/writable memory 21, SRC 46, CPU 12,and/or CS 15. In operation of one or more hosts 10, these respectiveinstructions may be respectively accessed and executed by SRC 46, CPU12, and/or CS 15. When these instructions are so accessed and executed,this may result, at least in part, in these respective componentsperforming the respective operations described herein as being performedby these respective components. For example, in operation of one or morehosts 10, one or more CPU 12 may access and execute instructions thatmay result in (1) CPU 12 executing, at least in part, one or more hostOS 31, and (2) one or more OS becoming resident, at least in part, inmemory 21.

In this embodiment, SRC 46 may be or comprise, at least in part, one ormore TPM 74. In this embodiment, one or more TPM 74 may comply and/or becompatible with, at least in part, TPM Main Specification (includingPart 1 Design Principles, Part 2 TPM Structures, and Part 3 Commands),Version 1.2, Revision 116, published 1 Mar. 2011, by Trusted ComputingGroup, Inc.

In this embodiment, CS 15 and/or host 10 may comprise, at least in part,circuitry 118. Circuitry 118 may comprise, at least in part, userauthentication manager (UAM) 161, secure storage 163, user proximitysensor (UPS) 103, user status manager (USM) 111, and/or TPM controller113.

In this embodiment, a portion, subset, or component of an entity maycomprise all or less than all of the entity. Also, in this embodiment,an agent, process, program, driver, operating system, and/or applicationmay comprise and/or result at least in part from execution of one ormore program instructions. In this embodiment, a first entity may besaid to be unauthorized to perform an action in connection with a secondentity, if the first entity is not currently granted permission (e.g.,by an owner, user, and/or administrator of the second entity) to performthe action. In this embodiment, authorization may be, comprise, and/orinvolve, at least in part (but is not required to be, comprise, and/orinvolve), authentication, or vice versa. In this embodiment, memory 21and/or storage 163 each may comprise one or more of the following typesof memories: semiconductor firmware memory, programmable memory,non-volatile memory, mass storage, read only memory, electricallyprogrammable memory, random access memory, flash memory, solid statedrive memory, hard/fixed disk drive memory, magnetic disk memory,optical disk memory, phase-change memory, and/or other computer-readableand/or writable memory. In this embodiment, mass storage may be orcomprise storage that is capable of non-volatile storage of data, and/orfrom which such data stored therein may be retrieved. Additionally, inthis embodiment, a hard/fixed disk drive may be or comprise, forexample, one or more platters and/or disks (and/or other circuitry) toand/or from which data may be electrically and/or magnetically storedand/or retrieved, at least in part. Furthermore, in this embodiment, asolid state drive may be or comprise, for example, one or more flashand/or phase-change memory devices (and/or other circuitry) to and/orfrom which data may be stored and/or retrieved, at least in part.

As used herein, “circuitry” may comprise, for example, singly or in anycombination, analog circuitry, digital circuitry, hardwired circuitry,programmable circuitry, co-processor circuitry, state machine circuitry,and/or memory that may comprise program instructions that may beexecuted by programmable circuitry. Also in this embodiment, aprocessor, processor core, core, and controller each may compriserespective circuitry capable of performing, at least in part, one ormore arithmetic and/or logical operations, such as, for example, one ormore respective central processing units. In this embodiment, anembedded controller may be or comprise a controller that is integrated,at least in part, in other circuitry, such as, for example, as one ormore circuitry blocks in one or more integrated circuits (e.g., one ormore integrated circuit chips or dice) that may comprise and/or embodyother and/or additional circuitry and/or functionality.

In this embodiment, I/F 101 may comprise one or more not shown graphicaluser interface systems. The one or more graphical user interface systemsmay comprise, e.g., one or more keyboards, pointing devices, portablesecurity device and/or card reader interfaces, and/or display systemsthat may permit one or more human users 42 to interact with, to inputcommands, data, and/or security devices/cards into, and/or to receiveinformation/requests from, and/or to monitor, at least in part, one ormore operations of one or more hosts 10 and/or one or more componentsthereof.

In operation of this embodiment, circuitry 118 may be capable ofperforming, at least in part, one or more operations (shown symbolicallyby block 181). These one or more operations 181 may comprise, forexample, (1) user authorization determination and/or (2) user presencedetermination.

In this embodiment, the user authorization determination may be inresponse, at least in part, to and/or based at least in part upon one ormore indications 38 of (e.g., physical) presence of one or more users 42in (e.g., physical) and/or within proximity (e.g., one or moregeographic proximities, proximity regions, and/or proximity areas,collectively or singly referred to by dashed box 40) to and/or of theone or more hosts 10. The user authorization determination may be todetermine, at least in part, whether the one or more users 42 areauthorized to issue one or more commands (e.g., one or more commands 44)to one or more SRC 46 and/or TPM 74. The user presence determination maydetermine, at least in part, whether, after the one or more indications38 have been provided, the physical presence of the one or more users 42to the one or more hosts 10 has ceased (e.g., one or more users 42 areno longer in and/or within the proximity 40).

In this embodiment, circuitry 118 may be capable of performing, at leastin part, the one or more operations 181 in isolation from interferencefrom and/or control by one or more CPU 12, one or more OS 31, one ormore users 42, and/or one or more other components of one or more hosts10 and/or system 100. For example, in this embodiment, circuitry 118 maybe, comprise, and/or be comprised, at least in part, in one or more notshown embedded controllers of one or more CS 15. Circuitry 118 and/orthese one or more embedded controllers may be capable, at least in part,of performing, at least in part, one or more operations 181 in a mannerthat (1) may not be subject to (e.g., any) control, tampering,inspection, involvement, management, interference, monitoring, and/oraccess by and/or of one or more CPU 12, one or more OS 31, one or moreusers 42, and/or one or more other components of one or more hosts 10and/or system 100, and/or (2) may be wholly independent of (e.g., any)control, tampering, inspection, involvement, management, interference,monitoring, and/or access by and/or of one or more CPU 12, one or moreOS 31, one or more users 42, and/or one or more other components of oneor more hosts 10 and/or system 100. In order to facilitate this,circuitry 118 and/or these one or more embedded controllers may be fullyhidden and/or isolated from access and/or control by one or more CPU 12,one or more OS 31, one or more users 42, and/or one or more othercomponents of one or more hosts 10 and/or system 100. In thisembodiment, accessing an entity may comprise one or more operations thatmay comprise, at least in part, one or more read operations and/or oneor more write operations involving, at least in part, the entity. Thus,one or more host CPU 12, one or more OS 31, one or more users 42, and/orother components of hosts 10 and/or system 100 may be incapable ofaccessing circuitry 118 and/or these one or more embedded controllers,and also may be incapable of controlling, interfering with, and/ormonitoring one or more operations 181, circuitry 118 and/or these one ormore embedded controllers. Advantageously, this may permit circuitry 118and/or the one or more embedded controllers to be able to perform, atleast in part, one or more operations 181 in a secure and trustedmanner/environment that is independent and isolated from interference,control, tampering, and/or modification by one or more host CPU 12, hostOS 31, one or more users 42, and/or one or more other components of oneor more hosts 10 and/or system 100 (e.g., one or more not shownmalicious and/or unauthorized processes/user that may be executed inand/or by (and/or have access to) one or more CPU 12, OS 31, hosts 10,and/or system 100).

For example, in this embodiment, the one or more indications 38 may bebased, at least in part, upon (1) activation of one or more secureattention keys (SAK) 50 of the one or more hosts 10 by one or more users42, (2) provision of one or more GPIO (and/or related) signals 52 to thecircuitry 52, detection of one or more physical tokens 56 associated, atleast in part, with the one or more users 42, and/or (4) detection ofone or more physical characteristics 58 of the one or more users 42.Also, in this embodiment, the user authorization determination may bebased, at least in part, upon (1) biometric information/data (e.g., 62and/or 60) associated, at least in part, with the one or more users 42,(2) one or more challenge responses (e.g., 66 and/or 61) provided, atleast in part, by the one or more users 42, and/or (3) data 68, 68′provided, at least in part, by one or more near field communicationdevices 70 associated, at least in part, with one or more users 42. Inthis embodiment, a near field communication device may be a device thatmay be capable, at least in part, of being communicatively coupled, atleast in part, via a wireless network, to another device.

Additionally or alternatively, in this embodiment, circuitry 118 maystore, at least in part, in storage 163, user authentication information(UAI) 80 and/or user privilege information (UPI) 82. For at least thereasons presented previously, information 80 and/or 82 may be stored, atleast in part, in secure storage 163 in a manner that is inaccessible toone or more host OS 31 and/or one or more CPU 12. The userauthentication determination may be based, at least in part, uponwhether UAI 80 matches, at least in part, other user-associatedauthentication information 84 provided, at least in part, in response,at least in part, by and/or in association with, at least in part, oneor more users 42. For example, at least a portion (e.g., comprising oneor more challenge response 66) of such information 84 may be provided,at least in part, in response, at least in part, to at least onechallenge 64 presented to the one or more users 42 via one or more I/F101.

Additionally or alternatively, in this embodiment, after circuitry 118authenticates the one or more users 42, for example, by determining, atleast in part, that one or more users 42 are, in fact, authorized touse, at least in part, the one or more hosts 10, circuitry 118 maydetermine, at least in part, one or more privileges associated with oneor more users 42. For example, these one or more privileges may includewhether the one or more users 42 are authorized to issue one or morecommands 44 to one or more SRC 46 and/or TPM 74. Circuitry 118 may base,at least in part, this determination of the one or more privileges thatmay be associated with one or more users 42, upon UPI 82.

Additionally or alternatively, in this embodiment, after circuitry 118determines, at least in part, that one or more users 42 are authorizedto issue one or more commands 44 to one or more commands 44 to one ormore SRC 46 and/or TPM 74, circuitry 118 may issue, at least in part,one or more GPIO signals 53 (e.g., to one or more SRC 46 and/or TPM 74).This may result, at least in part, in assertion of one or more physicaluser presence signals 88 of and/or associated with one or more SRC 46and/or TPM 74.

Additionally or alternatively, in this embodiment, after circuitry 118determines, at least in part, that the physical presence of the one ormore users 42 in proximity 40 has ceased, circuitry 118 may issue, atleast in part, one or more GPIO signals 90 (e.g., to one or more SRC 46and/or TPM 74) that may result, at least in part, in one or morede-asserted physical user presence signals 92. For example, thesede-asserted signals 92 may be or comprise, at least in part,de-assertion of one or more signals 53. Similarly, for example, one ormore GPIO signals 90 may be or comprise, at least in part, de-assertionof one or more signals 53.

For example, in operation of this embodiment, one or more users 42 mayactivate (e.g., press) one or more SAK 50. In this embodiment, one ormore SAK 50 may be or comprise, at least in part, a power/reset buttonof one or more hosts 10. Accordingly, in this embodiment, the activationof one or more SAK 50 by one or more users 42 may initiate, at least inpart, a power cycle, reset, and/or reboot of one or more hosts 10.Additionally or alternatively, in this embodiment, contemporaneously atleast in part with initiation of the power cycling, resetting, and/orrebooting of one or more hosts 10, the activation of one or more SAK 50by one or more users 42 may result, at least in part, in transmission ofone or more GPIO signals 52 to UAM 161 of circuitry 118. This mayresult, at least in part, in UAM 161 determining, based at least inpart, upon authentication policy information 167 stored, at least inpart, in secure storage 163, whether one or more user authenticationpolicies have been established, at least in part, in connection withactivation of one or more SAK 50. For example, if no such userauthentication policies have been established (e.g., the information 167does not indicate that any such policies have been established), UAM 161may determine that no such policies have been established. This mayresult, at least in part, in UAM 161 determining, at least in part, thatone or more users 42 are authorized to issue one or more commands 44 toone or more SRC 46 and/or TPM 74. This may result, at least in part, inTPM controller 113 transmitting, at least in part, one or more assertedGPIO signals 53 to (e.g., one or more not shown user physical presencepins of) one or more SRC 46 and/or TPM 74. This may result, at least inpart, in one or more asserted user physical presence signals 88 beingsupplied, at least in part, to one or more SRC 46 and/or TPM 74. Thismay result, at least in part, in one or more users 42 becomingauthorized (e.g., by one or more SRC 46 and/or TPM 74) to issue one ormore commands 44 to one or more SRC 46 and/or TPM 74. Thereafter, one ormore users 42 may issue one or more commands 44 to one or more SRC 46and/or TPM 74, via I/F 101 and/or circuitry 118.

In this embodiment, one or more commands 44 may be or comprise, forexample, one or more privileged and/or restricted SRC/TPM administrativeand/or other commands. For example, these one or more administrativeand/or other commands may permit setting and/or modification, at leastin part, of user, user process/application, and/or other privilegesassociated with use and/or control of one or more hosts 10, one or moreCPU 12, and/or one or more OS 31. In this embodiment, a privilege maycomprise one or more authorizations to perform an action.

Conversely, if one or more user authentication policies have beenestablished, information 167 may so indicate. In this case, UAM 161 maydetermine, based at least in part, upon information 167, one or moreauthentication procedures/operations that are to be carried out inaccordance with (e.g., as specified by), at least in part, suchinformation 167. For example, these one or more authenticationprocedures/operations may comprise, at least in part, UAM 161 requestingand/or prompting the one or more users 42 to provide authenticationinformation 84, one or more other credentials (e.g., one or more tokens56), and/or satisfy other authentication criteria (e.g., one or moreidentifying user physical characteristics 58).

For example, UAM 161 may provide one or more challenges 64 to one ormore users 42 via one or more I/F 101. These one or more challenges 64may be or comprise, for example, one or more requests/prompts that theone or more users 42 provide, in response at least in part to one ormore challenges 64, authentication information 84, one or more othercredentials (e.g., one or more tokens 56), and/or satisfy otherauthentication criteria (e.g., one or more identifying user physicalcharacteristics 58). In response, at least in part, to one or morechallenges 64, one or more users 42 may provide, at least in part viaone or more I/F 101, authentication information 84, one or more othercredentials (e.g., one or more tokens 56), and/or satisfy otherauthentication criteria (e.g., one or more identifying user physicalcharacteristics 58).

For example, in response, at least in part, to one or more challenges64, one or more users 42 may (1) input via one or more I/F 101 one ormore challenge responses 66 (e.g., comprising one or more user names,passwords, secret credentials, etc.) associated at least in part withthe one or more users 42, (2) insert into and/or otherwise permit to beread, at least in part, by one or more I/F 101, information/data 85stored in one or more tokens 56, (3) permit one or more I/F 101 to scan,read, image, and/or otherwise obtain biometric information 62 and/or oneor more physical characteristics 58 of the one or more users 42.Additionally or alternatively, one or more UPS 103 may wirelessly detectpresence of one or more devices 70 (e.g., that may be carried on orabout the one or more users 42) and/or userauthentication/identification data 68 securely transmitted from one ormore device 70. The provision of data 68 (and/or at least certain of theabove types of user authentication/identification information 84, etc.)may be carried out, at least in part, in a secure fashion, for example,using one or more cryptographic algorithms involving use of securecryptographic keys, etc. that may reduce the likelihood of successfuleavesdropping, man-in-the-middle attacks, tampering, etc. byunauthorized entities.

In this embodiment, biometric data and/or information may be orcomprise, at least in part, data that may represent, correspond to,and/or be derived from, at least in part, one or more biological,biochemical, genetic, and/or physical characteristics of one or morehumans. In this embodiment, a physical characteristic of a human usermay be or comprise, at least in part, one or more attributes related toone or more phenomena of the user. Examples of such phenomena mayinclude, without limitation, one or more images, characteristics,patterns, and/or features of one or more retina, speech exemplars,fingerprints, facial appearances, etc. of the user.

UAM 161 may compare, at least in part, the provided information 84, data68, one or more challenge responses 66, biometric information 62, and/ordata 85 with information 80, data 68′, one or more challenge responses61, biometric information 60, and/or information/data 85′, respectively,previously stored, at least in part, in secure storage 163, for possiblematch therewith. If information 84, data 68, one or more challengeresponses 66, biometric information 62, and/or data 85 matches, at leastin part, information 80, data 68′, one or more challenge responses 61,biometric information 60, and/or information/data 85′, respectively, UAM161 may determine that one or more users 42 are authorized to use, atleast in part, one or more hosts 10. In this case, UAM 161 also mayidentify, at least in part, one or more users 42 based upon information80, data 68′, one or more challenge responses 61, biometric information60, and/or information/data 85′. Based at least in part upon thisidentification, at least in part, of one or more users 42, UAM 161 maydetermine, at least in part, based at least in part upon user privilegeinformation 82, which user privileges (if any) may be granted to one ormore users 42 (e.g., in connection with one or more SRC 46, one or moreTPM 74, and/or issuance of one or more commands 44). If one or moreusers 42 have been granted appropriate user privileges (e.g., asreflected at least in part in user privilege information 82) that permitone or more users 42 to issue one or more commands 44 to one or more SRC46 and/or TPM 74, UAM 161 may so determine. This may result, at least inpart, in TPM controller 113 transmitting, at least in part, one or moreasserted GPIO signals 53 to (e.g., the one or more not shown userphysical presence pins of) one or more SRC 46 and/or TPM 74. This mayresult, at least in part, in one or more asserted user physical presencesignals 88 being supplied, at least in part, to one or more SRC 46and/or TPM 74. This may result, at least in part, in one or more users42 becoming authorized (e.g., by one or more SRC 46 and/or TPM 74) toissue one or more commands 44 to one or more SRC 46 and/or TPM 74.Thereafter, one or more users 42 may issue one or more commands 44 toone or more SRC 46 and/or TPM 74, via I/F 101 and/or circuitry 118.

In this embodiment, the activation of SAK 50 by one or more users 42,provision of one or more GPIO signals 52 to UAM 161, detection and/orreading of one or more tokens 56 by I/F 101, detection and/or obtainingof one or more characteristics 58, and/or provision of data 68 to UPS103 may indicate, at least in part, the physical presence of one or moreuser 42 in the proximity 40 of the one or more hosts 10. Thus, in thisembodiment, one or more indications 38 may be based upon, be, comprise,arise out of, and/or embody, at least in part, the activation of SAK 50by one or more users 42, provision of one or more GPIO signals 52 to UAM161, detection and/or reading of one or more tokens 56 by I/F 101,detection and/or obtaining of one or more characteristics 58, and/orprovision of data 68 to UPS 103.

After one or more indications 38 have been provided, and/or UAM 161 hasauthenticated and/or identified one or more users 42, USM 111 maydetermine, at least in part, that the one or more users 42 are currentlyin active authenticated session involving and/or granted access to oneor more hosts 10, SRC 46, and/or TPM 74. Thereafter, UPS 103, UAM 161,and/or I/F 101 may monitor (e.g., periodically, continuously, orintermittently) to determine whether and/or when the physical presenceof the one or more users 42 in the proximity 40 has ceased (e.g., as aresult of the one or more users 42 leaving the proximity 40). Suchmonitoring may be in response, at least in part, to one or more requestsfrom USM 111.

For example, UPS 103 may be capable of detecting (e.g., based at leastin part upon one or more characteristics of the signal received from oneor more devices 70) whether the one or more devices 70 (and therefore,also one or more users 42) may no longer be within the proximity 40.Based at least in part upon this, UPS 103 may periodically,continuously, or intermittently monitor to determine whether one or moredevices 70 and/or one or more users 42 have ceased to be in theproximity 40.

Alternatively or additionally, in this embodiment, UAM 161 and/or I/F101 may periodically and/or intermittently issue one or more additionalchallenges to the one or more users 42. If the one or more users 42 failto provide one or more appropriate challenge responses and/or responsivebiometric data within a certain (e.g., predetermined) time period, UAM161 and/or I/F 101 may determine that one or more users 42 have ceasedto be physically present in the proximity 40.

Alternatively or additionally, in this embodiment, I/F 101 maycontinuously, periodically, or intermittently monitor to determinewhether the one or more physical characteristics 58 are no longerdetectable within the proximity 40. If such occurs, I/F 101 and/or UAM161 may determine that one or more users 42 have ceased to be physicallypresent in proximity 40. Many other alternatives are possible withoutdeparting from this embodiment.

After UPS 103, UAM 161, and/or I/F 101 determine that the physicalpresence of the one or more users 42 in the proximity 40 has ceased,this condition may be indicated, at least in part, by UPS 103, UAM 161,and/or I/F 101 to USM 111. In response, at least in part, to suchindication, USM 111 may terminate, at least in part, the activeauthenticated session involving, and/or access of the one or more users42 to one or more hosts 10, SRC 46, and/or TPM 74. For example, USM 111may signal this change of status to UAM 161 and/or TPM controller 113.This may result, at least in part, in one or more users 42 no longerbeing considered as authenticated by UAM 161. This may also result, atleast in part, in TPM controller 113 issuing, at least in part, one ormore de-asserted GPIO signals 90 to one or more SRC 46 and/or TPM 74.This may result, at least in part, in one or more de-asserted physicaluser presence signals 92 of SRC 46 and/or TPM 74. As a result, at leastin part, of this, the one or more users 42 may no longer be authorizedto (and therefore, capable of) issuing, at least in part, one or morecommands 44 to one or more SRC 46 and/or TPM 74 in a manner that mayresult in execution of the one or more commands 44 by one or more SRC 46and/or TPM 74.

Many alternatives are possible without departing from this embodiment.For example, at least a subset of the components and/or functions ofcircuitry 118 may be emulated, at least in part, by one or more softwareagents 204 that may be resident, at least in part, in memory 21. Forexample, circuitry 118 may execute, at least in part, one or more agents204 that may perform, at least in part, the user authorizationdetermination and/or user presence determination of one or moreoperations 181. In this embodiment, one or more agents 204 may becapable of performing, at least in part, either or both of thesedeterminations (and/or one or more other operations, including one ormore other operations that may be comprised in one or more operations181) in isolation both from interference from and control by the one ormore CPU 12 and/or OS 31.

Additionally or alternatively, in this embodiment, one or more CPU 12may execute, at least in part, one or more agents 204 in a manner thatis in isolation both from interference from and control by the one ormore OS 31. For example, one or more CPU 12 may comprise one or moresecure hardware partitions that may be secured from such interferenceand/or control by OS 31. These one or more secure partitions may beused, at least in part, to execute one or more agents 204.

Additionally or alternatively, without departing from this embodiment,one or more agents 204 may be capable, at least in part, ofestablishing, at least in part, one or more (and in this embodiment, aplurality of) secure communication channels 206A . . . 206N (see FIG. 2)with (e.g., between one or more agents 204 and) one or more SRC 46.These secure communication channels 206A . . . 206N may be implemented,at least in part, via software, and/or may be inaccessible, at least inpart, by and/or to one or more CPU 12 and/or OS 31.

Also additionally or alternatively, without departing from thisembodiment, as shown in FIG. 2, one or more agents 204 may be comprised,at least in part, in one or more virtual machine manager (VMM) processes208. In this arrangement, the one or more SRC 46 may be softwareemulated, at least in part, by and/or comprised in, at least in part,one or more VMM processes 208. The one or more SRC 46 may be orcomprise, at least in part, one or more (and in this embodiment, aplurality of) virtual TPM 210A . . . 210N that may be emulated and/orimplemented, at least in part, by the one or more VMM processes 208. Thevirtual TPM 210A . . . 210N may be communicatively coupled to the one ormore agents 204 via (e.g., one or more respective) secure channels 206A. . . 206N. In this arrangement, the use of GPIO signals may bedispensed with, at least in part, and in their place, one or more of thechannels 206A . . . 206N may be used to indicate, at least in part, thephysical presence of the one or more users 42 in the proximity 40,and/or the ceasing of such presence.

Additionally or alternatively, as shown in FIG. 3, circuitry 118 may becomprised, at least in part, in one or more TPM (e.g., in TPM circuitry304 that may comprise one or more TPM 74). Further additionally oralternatively, as shown in FIG. 4, circuitry 118, may be comprised, atleast in part, in one or more hardware security modules (e.g., inhardware security module circuitry 404 that may comprise one or morehardware security modules 401).

Additionally or alternatively, as shown in FIG. 5, circuitry 118 may becomprised, at least in part, in one or more devices 504 that may becapable of being removably communicatively coupled to the one or morehosts 10. For example, one or more hosts 10 and/or one or more devices504 may comprise one or more interfaces 501 and 503, respectively.Interfaces 501 and 503 may comply and/or be compatible with, at least inpart, Universal Serial Bus 3.0 Specification, Revision 1.0, publishedNov. 12, 2008, Hewlett-Packard Company et al. (hereinafter referred toas “USB protocol”). Of course, other types of interfaces and/orprotocols may be employed without departing from this embodiment. Forexample, one or more devices 504 may be or comprise one or more physicaltokens or other type of device. In this embodiment, when interfaces 503and 501 are communicatively coupled together, circuitry 118 and one ormore hosts 10 may be communicatively coupled together in a manner thatmay permit circuitry 118 to operate, at least in part, in the mannerdescribed previously herein.

In this embodiment, the components and/or circuitry that may becomprised, at least in part, in circuitry 118 may be, be comprised in,or comprise, at least in part, one or more trusted executionenvironments (TEE). Without departing from this embodiment, thesecomponents, circuitry 118, and/or one or more TEE may be implemented, atleast in part, by microcode executed by and/or in one or more CPU 12that may, for example, partition memory and/or CPU resources and/orperform operations analogous to those performed by circuitry 118, itscomponents, and/or the one or more TEE. Alternatively or additionally,without departing from this embodiment, virtualization microcode and/orVMM/hypervisor software may be used to implement, at least in part, someor all of the components/operations of circuitry 118 and/or one or moresuch TEE.

For example, without departing from this embodiment, these components,circuitry 118, and/or one or more TEE may be or comprise, at least inpart, logic that may comprise, at least in part, physicalhardware/circuitry. In this arrangement, such logic may be capable ofperforming, at least in part, the at least one operation in isolationboth from interference from and control by the at least one host CPU andthe at least one host OS. As described above, the at least one operationmay comprise (1) user authorization determination and/or (2) userpresence determination. The user authorization determination may be inresponse, at least in part, to indication of physical presence of atleast one user in proximity to the host. The user authorizationdetermination may be to determine, at least in part, whether the atleast one user is authorized to issue at least one command to at leastone SRC of the host. The user presence determination may be todetermine, at least in part, whether, after the indication has beenprovided, the physical presence of the at least one user in theproximity to the host has ceased.

Additionally or alternatively, without departing from this embodiment,these components, CPU 12, circuitry 118, TPM, and/or one or more TEE maybe or be comprised in, at least in part, at least one system-on-chipand/or one or more chip/processor packages that may be comprised in suchsystem-on-chip. Such system-on-chip may be comprised, for example, inone or more not shown smartphones, tablet computers, and/or otherdevices.

In this embodiment, circuitry 118 and/or one or more components thereofmay be comprised, at least in part, in an Intel® Active ManagementTechnology™ Manageability Engine and/or other components. Additionallyor alternatively, one or more operations 181 may occur, at least inpart, in a pre-OS-boot state of one or more hosts 10. Of course, manyother configurations are possible without departing from thisembodiment.

In this embodiment, activation of an entity may be or comprise, at leastin part, initiation of and/or placing, at least in part, of the entity(and/or one or more components thereof) into a relatively higher powerstate relative to a present relatively lower power state. Also in thisembodiment, a GPIO signal may be or comprise one or more signals whosepurpose, function, and/or result may differ depending at least in partupon one or more states and/or configurations of one or more entities towhich the one or more signals may be supplied. Additionally, in thisembodiment, a signal may be said to be asserted if at least onecharacteristic of the signal is associated with a logic state that isdifferent from another logic state that is associated with de-assertion.Additionally in this embodiment, a VMM process may be or comprise, atleast in part, at least one process involved, at least in part, inmanaging, controlling, and/or modifying one or more features, functions,and/or operations of one or more virtual machines. In this embodiment, avirtual machine may be or comprise, at least in part, a host that iscapable, at least in part, of executing two or more operating systemscontemporaneously, at least in part.

Thus, in a first example in this embodiment, an apparatus that may beused in association with a host is provided. The apparatus may comprisecircuitry that is to be comprised, at least in part, in the host. Thehost may include at least one host CPU to execute, at least in part, atleast one host OS. The circuitry may be capable of performing, at leastin part, at least one operation in isolation both from interference fromand control by the at least one host CPU and the at least one host OS.The at least one operation may comprise (1) user authorizationdetermination and/or (2) user presence determination. The userauthorization determination may be in response, at least in part, toindication of physical presence of at least one user in proximity to thehost. The user authorization determination may be to determine, at leastin part, whether the at least one user is authorized to issue at leastone command to at least one SRC of the host. The user presencedetermination may be to determine, at least in part, whether, after theindication has been provided, the physical presence of the at least oneuser in the proximity to the host has ceased.

In a second example of this embodiment that may comprise some or all ofthe elements of the first example, the indication of the physicalpresence may be based, at least in part, upon one or more of: (1)activation of at least one secure attention key of the host by the atleast one user, (2) provision of at least one GPIO signal to thecircuitry, (3) detection of at least one physical token associated withthe at least one user, and/or (4) detection of at least one physicalcharacteristic of the at least one user. In a third example of thisembodiment that may comprise the elements of the first and/or secondexamples, the user authorization determination is based, at least inpart, upon one or more of: (1) biometric information associated with theat least one user, (2) at least one challenge response provided by theat least one user, and/or (3) data provided by at least one near fieldcommunication device associated with the at least one user.

In a fourth example of this embodiment that may comprise some or all ofthe elements of any of the preceding examples, the at least one SRC maycomprise a TPM. The circuitry of this fourth example may be to store, atleast in part, user authentication information and/or user privilegeinformation in a manner that may be inaccessible to at least one host OSand/or at least one host CPU. Also in this fourth example, the userauthentication determination may be based at least in part upon whetherthe user authentication information matches, at least in part, otheruser-associated information provided in response, at least in part, toat least one challenge by the circuitry. In this fourth example, afterthe circuitry determines, at least in part, that the at least one useris authorized to use, at least in part, the host, the circuitry may beto determine, based at least in part, upon the user privilegeinformation, whether the at least one user may be authorized to issuethe at least one command to the TPM.

In a fifth example that may comprise some or all of the elements of thefourth example, after the circuitry determines, at least in part, thatthe at least one user may be authorized to issue the at least onecommand to the TPM, the circuitry may be to issue, at least in part, aGPIO signal that results, at least in part, in assertion of a physicaluser presence signal of the TPM. In a sixth example that may comprisethe elements of the fourth example, after the circuitry determines, atleast in part, that the physical presence of the at least one user inthe proximity to the host has ceased, the circuitry is to issue, atleast in part, a GPIO signal that results, at least in part, inde-assertion of the physical user signal of the TPM.

In a seventh example of this embodiment that may comprise some or all ofthe elements of any of the preceding examples, the circuitry may satisfyone or more of the following conditions (a) to (g). In condition (a),the circuitry may be to execute, at least in part, at least one softwareagent to perform, at least in part, the user authorization determinationand/or the user presence determination. Also in the condition (a), theat least one software agent may be to establish, at least in part, atleast one secure communication channel with the at least one SRC.

In condition (b), the circuitry may be comprised, at least in part, in aTPM. In condition (c), the circuitry may be comprised, at least in part,in a hardware security module. In condition (d), the at least onesoftware agent may be comprised, at least in part, in a virtual machinemanager. In condition (e), the at least one SRC comprises, at least inpart, at least one virtual TPM implemented, at least in part, by thevirtual machine manager. In condition (f), the at least one virtual TPMmay comprise a plurality of virtual TPM. In condition (g), the circuitrymay be comprised, at least in part, in at least one device that may becapable of being removably communicatively coupled to the host.

In an eighth example of this embodiment, computer-readable memory isprovided that stores one or more instructions that when executed by amachine results in the performance of operations that may comprise (1)the at least one operation that the circuitry of the apparatus may becapable of performing, and/or (2) any combination of any of theoperations performed by the circuitry and/or apparatus in any of thepreceding examples. In a ninth example of this embodiment, a method isprovided for use in association with the host. The method of this ninthexample may comprise (1) the at least one operation that the circuitryof the apparatus in the first example of this embodiment may be capableof performing, (2) any combination of any of the operations performed bythe circuitry and/or apparatus in any of the preceding examples, and/or(3) any combination of any of the operations that may be performed byexecution of the one or more instructions stored in thecomputer-readable memory of the eighth example of this embodiment.

In a tenth example of this embodiment, means may be provided to carryout any of, and/or any combination of, the operations that may beperformed by the method, apparatus, computer-readable memory, and/orcircuitry in any of the preceding examples.

Advantageously, in this embodiment, a separate authentication (e.g.,independent of a user merely pressing SAK 50) of the user may be carriedout prior to and/or as a condition for the user being granted access tothe security/administrative functions of the SRC/TPM. Advantageously,this may significantly reduce the possibility, in this embodiment, thatan unauthorized user who obtains physical access to the host and pressesthe SAK 50 may be able to gain access to the security/administrativefunctions of the SRC/TPM.

Further advantageously, in this embodiment, continuing access to thesecurity/administrative functions of the SRC/TPM may be conditioned uponan authorized user remaining in proximity to the host, and such accessmay be revoked if the user ceases to be in proximity to the host.Advantageously, in this embodiment, this may prevent an unauthorizedperson from being able to gain access to such functions, for example,after the authorized user has left the proximity of the host.

Many alternatives, modifications, and/or variations are possible withoutdeparting from this embodiment. For example, in an eleventh example ofthis embodiment, machine-readable memory may be provided that may storeinstructions and/or design data, such as Hardware Description Language,that may define one or more subsets of the structures, circuitry,apparatuses, features, etc. described herein (e.g., in any of thepreceding examples of this embodiment). Accordingly, the claims areintended to embrace all such alternatives, modifications, and/orvariations.

What is claimed is:
 1. A system comprising: a host central processingunit (CPU) to execute, at least in part, a host operating system (OS)and comprising one or more hardware partitions; and logic, implementedat least in part by hardware coupled to the host CPU, to perform atleast one operation in isolation from the host CPU and the host OS, theat least one operation comprising: a user authorization determination inresponse to an indication of a physical presence of a user within ageographic region of the system, to determine whether the user isauthorized to issue a command to a security-related component of thesystem, wherein the indication is based at least in part on one or moreof: activation of a secure attestation key of the system by the user;provision of a general purpose input/output (GPIO) signal to the logic;detection of a physical token associated with the user; and detection ofa physical characteristic of the user; and a user presence determinationto determine whether, after the indication has been provided, thephysical presence of the user within the geographic region has ceased.2. The system of claim 1, wherein the logic is to execute, at least inpart, a software agent to perform one or more of the user authorizationdetermination and the user presence determination.
 3. The system ofclaim 2, further comprising a virtual machine manager comprising thesoftware agent.
 4. The system of claim 3, wherein the security-relatedcomponent comprises a virtual trusted platform module that is to beimplemented, at least in part, by the virtual machine manager.
 5. Thesystem of claim 4, wherein the virtual trusted platform module comprisesa plurality of virtual trusted platform modules.
 6. The system of claim1, further comprising a device to removably couple to the system, thedevice comprising the logic.
 7. The system of claim 1, wherein the userauthorization determination is based at least in part on one or more of:biometric information associated with the user; a challenge responseprovided by the user; and data provided by a near field communicationdevice associated with the user.
 8. The system of claim 1, wherein thesecurity-related component comprises a trusted platform module.
 9. Thesystem of claim 8, wherein the logic is to store, at least in part, userauthentication information and user privilege information in a mannerthat is inaccessible to the host OS and the host CPU, and the userauthentication determination is based at least in part on whether theuser authentication information matches, at least in part, otheruser-associated information provided by the user.
 10. The system ofclaim 9, wherein the logic is to determine based at least in part on theuser privilege information whether the user is authorized to issue thecommand to the security-related component.
 11. A method comprising:determining, in logic coupled to a host central processing unit (CPU) ofa system, in a manner isolated from the host CPU, in response to anindication of a physical presence of a user within a geographic regionof the system, whether the user is authorized to issue a command to asecurity-related component of the system, wherein the indication isbased at least in part on one or more of: activation of a secureattestation key of the system by the user; provision of a generalpurpose input/output (GPIO) signal to the logic; detection of a physicaltoken associated with the user; and detection of a physicalcharacteristic of the user; and determining, after the indication hasbeen provided, whether the physical presence of the user within thegeographic region has ceased.
 12. The method of claim 11, furthercomprising executing, at least in part, a software agent to perform oneor more of the user authorization determining and the physical presencedetermining.
 13. The method of claim 11, wherein the user authorizationis based at least in part on one or more of: biometric informationassociated with the user; a challenge response provided by the user; anddata provided by a near field communication device associated with theuser.
 14. The method of claim 11, further comprising storing, at leastin part, user authentication information and user privilege informationin a manner that is inaccessible to a host operating system (OS) toexecute on the host CPU.
 15. The method of claim 14, further comprisingdetermining the user authorization based at least in part on whether theuser authentication information matches, at least in part, otheruser-associated information provided by the user.
 16. The method ofclaim 15, further comprising determining based at least in part on theuser privilege information whether the user is authorized to issue thecommand to the security-related component.
 17. A non-transitorymachine-readable medium having stored thereon instructions, which ifperformed by a machine cause the machine to perform a method comprising:determining, in logic, implemented at least in part by hardware coupledto a host central processing unit (CPU) of a system, in a mannerisolated from the host CPU, in response to an indication of a physicalpresence of a user within a geographic region of the system, whether theuser is authorized to issue a command to a security-related component ofthe system, wherein the indication is based at least in part on one ormore of: activation of a secure attestation key of the system by theuser; provision of a general purpose input/output (GPIO) signal to thelogic; detection of a physical token associated with the user; anddetection of a physical characteristic of the user; and determining,after the indication has been provided, whether the physical presence ofthe user within the geographic region has ceased.
 18. The non-transitorymachine-readable medium of claim 17, further comprising instructionsthat if performed enable the machine to perform the user authorizationbased at least in part on one or more of: biometric informationassociated with the user; a challenge response provided by the user; anddata provided by a near field communication device associated with theuser.
 19. The non-transitory machine-readable medium of claim 17,further comprising instructions that if performed enable the machine tostore, at least in part, user authentication information and userprivilege information in a manner that is inaccessible to a hostoperating system (OS) to execute on the host CPU.
 20. The non-transitorymachine-readable medium of claim 19, further comprising instructionsthat if performed enable the machine to determine the user authorizationbased at least in part on whether the user authentication informationmatches, at least in part, other user-associated information provided bythe user, and determine based at least in part on the user privilegeinformation whether the user is authorized to issue the command to thesecurity-related component.